#ifndef  __GDEVICE_H
#define __GDEVICE_H
#include <wiringPi.h>
#include <stdio.h>

//设备模块的统一接口 结构体定义
struct gdevice
{
    char dev_name[128];     //设备名称
    int key;                //key值， 用于匹配控制指令的值
    int gpio_pin;           //控制的gpio引脚 6 7 8 9 -1
    int gpio_mode;          //输入输出模式  INPUT OUTPUT -1 
    int gpio_status;        //高低电平状态 LOW HIGH -1
    int check_face_status;  //是否进行人脸检测状态
    int voice_set_status;   //是否语音语音播报 状态

    struct gdevice *next;   //指向下一个设备的指针
};

//将设备添加加到设备链表中
struct gdevice *add_device_to_gdevice_list(struct gdevice *phead, struct gdevice*device);

//根据key值查找设备
struct gdevice *find_gdevice_by_key(struct gdevice *pdev, unsigned char key);

//设置GPIO设备状态
int set_gpio_gdevice_status(struct gdevice *pdev);


#endif
